#include "utils_log.h"

#include "stm32h7xx_hal.h"

#include "stdarg.h"
#include "stdio.h"
#include "stdint.h"


extern UART_HandleTypeDef huart1;

static uint8_t buffer[255];

void Utils_LogPrintf(const char *format, ...)
{
    uint16_t len;

    // 使用 vsnprintf 解析字符串
    va_list args_list;
    va_start(args_list, format);

    // 等待上次发送结束
    while(huart1.gState != HAL_UART_STATE_READY){};
    len = vsnprintf((char *)buffer, 255, format, args_list);
    va_end(args_list);

    HAL_UART_Transmit_DMA(&huart1, buffer, len);
}
